// 入口函数
$(function() {
    // 需求1、自定义校验规则
    let form = layui.form;
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            '用户昵称必须是1~10之间的非空白数字'
        ]
    })

    // 需求2、初始化用户信息 - 后面还要用，所以分装成方法
    let layer = layui.layer;
    initUserInfo()
    function initUserInfo() {
        // 发送Ajax
        axios({
            method: 'GET',
            url: '/my/userinfo',
        }).then(res => {
            // console.log(res.data);
            if(res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            // 根据官网，为form表单赋值
            // 内置模块 -> 表单-> 表单赋值/取值
            form.val("formUserInfo", res.data.data)
        })
    }

    // 需求3、重置表单
    // 给按钮设置点击事件，或者form绑定reset事件
    $('#btnReset').on('click',function(e) {
        // 阻止表单默认提交
        e.preventDefault();
        // 重新渲染表单
        initUserInfo()
    })

    // 需求4、提交表单
    // 给按钮设置点击事件,或者给form绑定submit事件
    $('form').on('submit',function(e) {
        // 阻止表单默认提交，改为Ajax提交
        e.preventDefault();
        // 发送Ajax
        axios({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize(),
        }).then((res) => {
            // console.log(res.data);
            if(res.data.status != 0) {
                return layer.msg(res.data.message);
            }
            // 成功提醒
            layer.msg('恭喜您，修改用户信息成功！')
            // 直接调用无效，因为不是一个window对象；
            window.parent.getUserInfo()
        })
    })
})